Boo (programming language)

Boo
Paradigm(s) Object oriented
Appeared in 2003
Designed by Rodrigo B. De Oliveira
Developer Rodrigo B. De Oliveira
Stable release 0.9.4 (2011-01-21)
Typing discipline static, strong, duck
Influenced by Python
Platform Common Language Infrastructure (.NET Framework & Mono)
License MIT/BSD style license
Website boo.codehaus.org

Boo is an object-oriented, statically typed, general-purpose programming language that seeks to make use of the Common Language Infrastructure's support for Unicode, internationalization, and web applications, while using a Python-inspired syntax[1] and a special focus on language and compiler extensibility. Some features of note include type inference, generators, multimethods, optional duck typing, macros, true closures, currying, and first-class functions. Boo has been actively developed since 2003.

Boo is free software released under an MIT/BSD–style license. It is compatible with both the Microsoft .NET and Mono frameworks.

Contents

Code samples

Hello world program

print "Hello, world!"

Fibonacci series generator function

def fib():
    a, b = 0L, 1L       #The 'L's make the numbers double word length (typically 64 bits)
    while true:
        yield b
        a, b = b, a + b
 
# Print the first 5 numbers in the series:
for index as int, element in zip(range(5), fib()):
    print("${index+1}: ${element}")

See also

References

  1. ^ Rodrigo Barreto de Oliveira (2005). "The boo Programming Language" (PDF). http://boo.codehaus.org/BooManifesto.pdf. Retrieved February 22, 2009. 

External links